package ch04
{
	import flash.display.Bitmap;
	import flash.display.Sprite;
	import flash.geom.ColorTransform;

	/**
	 * 使用 ColorTransform 类改变颜色
	 * @author sjp
	 *
	 */
	public class TransformColor extends Sprite
	{
		[Embed(source='../../assets/beauty.jpg')]
		public var Picture:Class;

		public function TransformColor()
		{
			init();
		}

		private function init():void
		{
			var pic:Bitmap=new Picture();
			pic.width=pic.width * 0.5;
			pic.height=pic.height * 0.5;
			addChild(pic);
			/**
			   可使用 ColorTransform 类调整显示对象的颜色值。可以将颜色调整或颜色转换应用于所有四种通道：红色、绿色、蓝色和 Alpha 透明度。
			   当 ColorTransform 对象应用于显示对象时，将按如下方法为每个颜色通道计算新值：

			   新红色值 = (旧红色值 * redMultiplier) + redOffset
			   新绿色值 = (旧绿色值 * greenMultiplier) + greenOffset
			   新蓝色值 = (旧蓝色值 * blueMultiplier) + blueOffset
			   新 Alpha 值 = (旧 Alpha 值 * alphaMultiplier) + alphaOffset
			   如果计算后任何一个颜色通道值大于 255，则该值将被设置为 255。如果该值小于 0，它将被设置为 0。

			   可以通过下列方式使用 ColorTransform 对象：

			   在 BitmapData 类的 colorTransform() 方法的 colorTransform 参数中
			   作为 Transform 对象（此对象可以用作显示对象的 transform 属性）的 colorTransform 属性
			   必须使用 new ColorTransform() 构造函数创建 ColorTransform 对象后，才能调用 ColorTransform 对象的方法。
			 * */
			pic.transform.colorTransform=new ColorTransform(-1, -1, 1, 1, 255, 255, 255, 0);
			
		}
	}
}